home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / text / misc / nroffamiga.lha / tmac.lha / tmac.a next >
Text File  |  1992-05-26  |  8KB  |  293 lines

  1. .\"    @(#)tmac.a    1.5    88/02/08
  2. .\"    ********** dictionary **********
  3. .\"        B0 size of wide figure just diverted
  4. .\"        B1 size of figure at top full wdith
  5. .\"        B2 if figure at full width bottom
  6. .\"        B3 name of full width top figure for next page
  7. .\"        B4 full width bottom figure
  8. .\"        B5 wide top figure size scheduled for this page
  9. .\"        B6 true if a wide figure being diverted
  10. .\"        B8 if at EM end up macro stage
  11. .\"        B9 if at page bottom
  12. .\"        BM width bottom margin
  13. .\"        BX full width top figure, this page
  14. .\"        CE end caption.
  15. .\"        CP store caption.
  16. .\"        CS begin caption; center if 1 line, else paragraph.
  17. .\"        CW column width
  18. .\"        D1 amount of text left column
  19. .\"        D2 amount of text right column
  20. .\"        D3 arithmetic scratch, typically whether went past page footer
  21. .\"        D9 scratch, remembers length of diverted keep
  22. .\"        DN name of current diversion trap
  23. .\"        DO default page offset
  24. .\"        EE string to be prefixed to an equation to indent it two spaces if wanted
  25. .\"        EL equation label
  26. .\"        EZ rathole to throw equations down
  27. .\"        F0 argument to GS specifying quadrant
  28. .\"        F1 biggest space available in left column
  29. .\"        F2 biggest space available in right column
  30. .\"        F5 position of top of 2 2col section
  31. .\"        F6 argument to BS specifying top/bottom
  32. .\"        G0 (1) count authors
  33. .\"           (2) size of just entered figure
  34. .\"        G1 size figure top left next page
  35. .\"        G2 size figure top right next page
  36. .\"        G3 size left bottom figure
  37. .\"        G4 size right bottom figure
  38. .\"        G5 true if next top narrow figure goes to right side (next page)
  39. .\"        G6 true if next bottom narrow figure goes to right side
  40. .\"        G7 (1) amount space before bottom wide figure to sit on baseline
  41. .\"           (2) flag for doubled up narrow figures into a wide one
  42. .\"        G8 true if figure has been placed
  43. .\"        G9 if at page top
  44. .\"        GD buffer where narrow figure is placed
  45. .\"        GJ figure top left next page
  46. .\"        GK figure top right next page
  47. .\"        GL content left bottom figure
  48. .\"        GM content right bottom figure
  49. .\"        GP left half of a figure pair
  50. .\"        GQ right half of a figure pair
  51. .\"        H0 section numbers for numbered headings
  52. .\"        H1 size of figure at top left this page
  53. .\"        H2 size of figure top right this page
  54. .\"        HJ figure at top left this page
  55. .\"        HK figure at top right this page
  56. .\"        HS true if just at a section heading
  57. .\"        IK true if inside a KS/KE
  58. .\"        L1 shortest legal amount of two column material
  59. .\"        L2 amount of 2 column stuff expected
  60. .\"        L4 amount being diverted
  61. .\"        L5 amount of text diverted in double-column hunt
  62. .\"        L6 zero if right column, true if too short to split up
  63. .\"        L7 minimum length of a split column
  64. .\"        LC position of left column bottom
  65. .\"        LE computation of column lengths  \" LE should be F3
  66. .\"        LE true if equations are labeled
  67. .\"        LH left running head
  68. .\"        LL line length
  69. .\"        LS general looseness parameter
  70. .\"        MX expand month name
  71. .\"        NB number of columns possible
  72. .\"        NC number of columns being set
  73. .\"        ND have been in double column before, not first break to it.
  74. .\"        NU issue number
  75. .\"        P1 (1) height left col
  76. .\"           (2) amount to pad total
  77. .\"        P2 height right column
  78. .\"        P3 amount of extra space at a 1C-2C transition
  79. .\"        P4 temporary in filling columns calcuations
  80. .\"        PS standard point size
  81. .\"        Q1 number of places to pad
  82. .\"        Q2 number padding points right column
  83. .\"        RO position of right column (offset for)
  84. .\"        S1 position of space in column
  85. .\"        S2 size of space
  86. .\"        T1 true if top figure position forced by GS arg
  87. .\"        T2 true if bottom figure position forced by GS arg
  88. .\"        TB true if there is to be a turnover bar here.
  89. .\"        TP true if still at document title (turnover bar decision)
  90. .\"        TQ position at top of page
  91. .\"        TT >0 if figure, etc. doesn't fit this page
  92. .\"        TT right running head (title)
  93. .\"        TW table width (set by TBL)
  94. .\"        VN volume number
  95. .\"        VS standard vertical spacing
  96. .\"        GW gutter width
  97. .\"        X1 diversion to hold left column
  98. .\"        X2 diversion to hold right column
  99. .\"        XI value of indent to be restored after abstract
  100. .\"        XQ register in which padding points are counted
  101. .\"        XR true (1) if past the very first paragraph
  102. .\"        XX diversion to hold input text in preparation for formatting
  103. .\"        YE past very top: avoids a break in the EQ/EN macro before startup.
  104. .\"        ZN size of equation
  105. .\"        mo month name
  106. .\"        y  place of footer trap
  107. .\"        
  108. .\"        
  109. .\"    ********** environments *********
  110. .\"        0  normal
  111. .\"        1  figures
  112. .\"        2  while columns are arranged
  113. .\"        
  114. .\"        
  115. .\"    ********** macros **********
  116. .\"        for user        which invoke
  117. .\"    TL,AU,AI,AB,AE    IZ, EA, AX, AY
  118. .\"    EQ, EN        @L, @C, @I
  119. .\"    TS,TE
  120. .\"    SP, PP        FI, NX, RT
  121. .\"    2C        2D, 2S, C4, C3, LA
  122. .\"    1C        1D, 1E, 1S, C6, C7
  123. .\"    ST, LS        CL
  124. .\"    SL
  125. .\"    GS, GE        GA,GB,GG,GU,GV,GW,GX,GY,GZ,GN,GO,C8,MR,BR
  126. .\"    BS,BE        BA,BB,BC,BD
  127. .\"    KS,KE        KU,KT
  128. .\"    CS,CE        CP
  129. .\"    SH,NH
  130. .\"    B, I, R
  131. .\"    UL
  132. .\"    ne        NE
  133. .\"            EM, NP, FO, CM
  134. .\"        
  135. .nr B9 1
  136. .\"        -----------------------------
  137. .de RT \" reset params to normal state
  138. .ce 0
  139. .ul 0
  140. .ti 0
  141. .if \\n(IP .in -\\n(IQn
  142. .if \\n(IP .nr IP -1
  143. .ft 1
  144. .if \\n(AJ=0 .ps \\n(PS
  145. .if \\n(AJ=0 .vs \\n(VSp
  146. .fi
  147. ..
  148. .\"        -----------------------------
  149. .de IZ \"initialization
  150. .MX
  151. .rm MX
  152. .if !\\n(BM .nr BM 1.13i
  153. .nr y 0-\\n(BM
  154. .if \\n(DO=0 .nr DO .4i
  155. .wh 0 NP
  156. .po \\n(DOu
  157. .nr IP 0
  158. .if !\\n(PS .nr PS 9
  159. .if !\\n(L1 .nr L1 1.5i  \"minimum amount of double column
  160. .if !\\n(VS .nr VS 11
  161. .ps \\n(PS
  162. .vs \\n(VSp
  163. .if !\\n(PI .nr PI 2n
  164. .if !\\n(PD .nr PD 0
  165. .if !\\n(CW .nr CW 3.1i
  166. .if !\\n(GW .nr GW 0.4i
  167. .nr RO \\n(CWu+\\n(GWu
  168. .nr YE 1
  169. .nr LL \\n(RO+\\n(CW
  170. .ll \\n(LLu
  171. .lt \\n(LLu
  172. .nr NC 1
  173. .nr NB 1
  174. .wh \\nyu FO
  175. ..
  176. .\"        -----------------------------
  177. .de EQ  \"equation, breakout and display
  178. .nr EF \\n(.u
  179. .rm EE
  180. .nr LE 1    \" 1 is center
  181. .ds EL \\$1
  182. .if "\\$1"L" .ds EL \\$2
  183. .if "\\$1"L" .nr LE 0
  184. .if "\\$1"C" .ds EL \\$2
  185. .if "\\$1"I" .nr LE 0
  186. .if "\\$1"I" .ds EE \\h'4n'
  187. .if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
  188. .if "\\$1"I" .ds EL \\$2
  189. .if \\n(YE>0 .nf
  190. .di EZ
  191. ..
  192. .\"        -----------------------------
  193. .de EN  \" end of a displayed equation
  194. .if !"\\n(.z"EZ" .tm EN not preceded by EQ, disaster follows.
  195. .br
  196. .ce 0
  197. .di
  198. .rm EZ
  199. .nr ZN 1
  200. .if "\\*(10"" .nr ZN 0
  201. .if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
  202. .lt \\n(.lu
  203. .br
  204. .if \\n(ZN>0 .if !\\n(.d=\\n(PE .SP 0.5
  205. .pc
  206. .if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
  207. .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
  208. .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
  209. .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\\\t\\*(EL
  210. .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w'\\*(10' .nr BD \\w'\\*(10'
  211. .lt \\n(LLu
  212. .pc %
  213. .br
  214. .if \\n(YE>0 .if \\n(EF>0 .fi
  215. .rm EL
  216. .if \\n(ZN>0 .SP 0.5
  217. .nr PE \\n(.d
  218. ..
  219. .\"        -----------------------------
  220. .de TL  \"title of document
  221. .IZ
  222. .rm IZ
  223. .br
  224. .if \\n(XR>0 .EA
  225. .ll \\n(LLu
  226. .ft 3
  227. .ps 11
  228. .if \\n(PS=9 .nr y -3v
  229. .ce 1000
  230. .nr TP 1
  231. .nr G0 0
  232. .bd 1 3
  233. .bd 2 3
  234. .if !"xx\\n(.z"xx" \!.bd 1 3
  235. .if !"xx\\n(.z"xx" \!.bd 2 3
  236. ..
  237. .\"        -----------------------------
  238. .de AU  \"author(s) name(s)
  239. .ft 1
  240. .br
  241. .bd 1
  242. .bd 2
  243. .if !"xx\\n(.z"xx" \!.bd 1
  244. .if !"xx\\n(.z"xx" \!.bd 2
  245. .if !\\n(G0 .sp
  246. .if \\n(G0 .sp .5
  247. .if \\n(G0 and
  248. .if \\n(G0 .sp .5
  249. .nr G0 +1
  250. .ps \\n(PS
  251. ..
  252. .\"        -----------------------------
  253. .de AI  \"authors institution
  254. .ft 2
  255. .ps \\n(PS-1
  256. ..
  257. .\"        -----------------------------
  258. .de AB  \"abstract start
  259. .ce 0
  260. .ll \\n(LLu
  261. .fi
  262. .ft 1
  263. .sp
  264. .nr XI \\n(.i
  265. .nr AJ 1
  266. .in +\\n(.lu/8u
  267. .ll -\\n(.lu/8u
  268. .nr PS -1
  269. .ps \\n(PS
  270. .nr VS -1
  271. .vs \\n(VSp
  272. .ti +2n
  273. ..
  274. .\"        -----------------------------
  275. .de AE  \"abstract end
  276. .ll \\n(LLu
  277. .in \\n(XIu
  278. .ce 0
  279. .nr PS +1
  280. .ps \\n(PS
  281. .nr VS +1
  282. .vs \\n(VSp
  283. .nr AJ 0
  284. .if !\\n(.d=\\n(nl .AX
  285. .if \\n(PS=9 .sp 2
  286. .nr XR 0
  287. .nr ND 0
  288. .2C
  289. ..
  290. .\"        No default table macro now.
  291. .\"        .        -----------------------------
  292. .\"        .de TS  \"table start
  293.